home *** CD-ROM | disk | FTP | other *** search
- /* A little ARexx-script that
- * adds/tests for/removes noixemul in specsfile
- *
- */
-
- PARSE ARG option filename .
-
- IF LEFT(filename,1)=='"' & RIGHT(filename,1)=='"' THEN
- filename=SUBSTR(filename,2,LENGTH(filename)-2)
-
- noixemul=0
-
- IF ~OPEN(fh,filename,"R") THEN
- RETURN 5
-
- DO lcnt=1 TO 1000
- buf.lcnt=READLN(fh)
-
- IF POS("noixemul",buf.lcnt)~=0 THEN
- noixemul=1
-
- IF EOF(fh) THEN
- BREAK
- END
-
- IF ~CLOSE(fh) THEN
- RETURN 5
-
- SELECT
-
- WHEN option=="-t" THEN /* Toggle */
- IF noixemul THEN
- option="-a"
- ELSE
- option="-r"
-
- WHEN option=="-a" THEN
- IF noixemul THEN
- RETURN 4
-
- WHEN option=="-r" THEN
- IF ~noixemul THEN
- RETURN 4
-
- WHEN option=="-c" THEN
- RETURN noixemul
-
- END
-
- SELECT
-
- WHEN option=="-a" THEN
- DO
- cline=""
-
- DO i=1 TO lcnt-1
-
- IF cline~=="" THEN
- IF buf.i=="" THEN
- buf.i="%{noixemul:"cline"}"
- ELSE
- buf.i="%{!noixemul:"buf.i"}%{noixemul:"cline"}"
-
- SELECT
-
- WHEN buf.i=="*endfile:" THEN
- cline="-lstubs"
-
- WHEN buf.i=="*link:" THEN
- cline="%{g:-amiga-debug-hunk} "||,
- "%{resident:-databss-together -datadata-reloc "||,
- "%{mc68020:-fl lib020/libnix/libb }"||,
- "%{!mc68020:-fl libnix/libb }}"||,
- "%{!resident:"||,
- "%{fbaserel:-databss-together %{mc68020:-fl lib020/libnix/libb }"||,
- "%{!mc68020:-fl libnix/libb }}"||,
- "%{!fbaserel: %{mc68020:-fl lib020/libnix }"||,
- "%{!mc68020:-fl libnix }}}"
-
- WHEN buf.i=="*lib:" THEN
- cline="-lnixmain -lnix -lamiga"
-
- WHEN buf.i=="*startfile:" THEN
- cline="%{resident:/gcc/lib/libnix/nrcrt0.o%s}"||,
- "%{!resident:"||,
- "%{fbaserel:/gcc/lib/libnix/nbcrt0.o%s}"||,
- "%{!fbaserel:/gcc/lib/libnix/ncrt0.o%s}}"
- OTHERWISE
- cline=""
- END
- END
- END
-
- WHEN option=="-r" THEN
- DO i=1 TO lcnt-1
- IF POS("%{noixemul:",buf.i)~=0 THEN
- buf.i=LEFT(buf.i,POS("%{noixemul:",buf.i)-1)
-
- IF LEFT(buf.i,12)=="%{!noixemul:" THEN
- buf.i=SUBSTR(buf.i,13,LENGTH(buf.i)-13)
- END
-
- END
-
- IF ~OPEN(fh,filename,"W") THEN
- RETURN 5
-
- DO i=1 TO lcnt-1
-
- CALL WRITELN(fh,buf.i)
-
- END
-
- IF ~CLOSE(fh) THEN
- RETURN 5
-
- RETURN 0
-